home *** CD-ROM | disk | FTP | other *** search
- /* Compile me to get full executable. */
-
- #include <stdio.h>
- #include "ControlGUI.c"
-
- /* Menu Processing for CtrlMenu */
- /* Just pass the code field from an IDCMP_MENUPICK or IDCMP_MENUHELP message. */
-
- void ProcessMenuIDCMPCtrlMenu( UWORD MenuNumber)
- {
- UWORD MenuNum;
- UWORD ItemNumber;
- UWORD SubNumber;
- int Done=0; /* Set Done to 1 to forget rest of next selects. */
- struct MenuItem *item;
- while ((MenuNumber != MENUNULL) && (Done == 0))
- {
- item = ItemAddress( CtrlMenu, MenuNumber);
- MenuNum = MENUNUM(MenuNumber);
- ItemNumber = ITEMNUM(MenuNumber);
- SubNumber = SUBNUM(MenuNumber);
- switch ( MenuNum )
- {
- case NOMENU :
- /* No Menu Selected. */
- break;
- case Menu_1 :
- switch ( ItemNumber )
- {
- case NOITEM :
- /* No Item selcted. */
- break;
- case CtrlMenu_About :
- /* Item Text : About */
- break;
- case CtrlMenu_ScreenMode :
- /* Item Text : Screen Mode */
- break;
- case bar :
- /* Item Text : bar */
- break;
- case CtrlMenu_Qui :
- /* Item Text : Quit! */
- break;
- }
- break;
- }
- MenuNumber = item->NextSelect;
- }
- }
-
- /* Cut the core out of this function and edit it suitably. */
-
- void ProcessWindowCtrl( LONG Class, UWORD Code, APTR IAddress )
- {
- struct Gadget *gad;
- switch ( Class )
- {
- case IDCMP_GADGETUP :
- /* Gadget message, gadget = gad. */
- gad = (struct Gadget *)IAddress;
- switch ( gad->GadgetID )
- {
- case Ctrl_LV1 :
- /* ListView pressed, Text of gadget : */
- break;
- case Ctrl_LV1_Cycle :
- /* Cycle changed , Text of gadget : */
- break;
- case Ctrl_LV1_Info :
- /* Button pressed , Text of gadget : Information */
- break;
- case Ctrl_LV2_Nodes :
- /* ListView pressed, Text of gadget : */
- break;
- case Ctrl_Window :
- /* Button pressed , Text of gadget : Window */
- break;
- case Ctrl_Screen :
- /* Button pressed , Text of gadget : Watch */
- break;
- case Ctrl_Stop :
- /* Button pressed , Text of gadget : Stop */
- break;
- case Ctrl_Start :
- /* Button pressed , Text of gadget : Start */
- break;
- case Ctrl_Configure :
- /* Button pressed , Text of gadget : Configure */
- break;
- case Ctrl_Shutdown :
- /* Button pressed , Text of gadget : Shutdown All */
- break;
- case Ctrl_LV3_Commands :
- /* ListView pressed, Text of gadget : */
- break;
- case Ctrl_Config :
- /* Button pressed , Text of gadget : Config */
- break;
- case Ctrl_Status :
- /* Button pressed , Text of gadget : Status */
- break;
- case Ctrl_Who :
- /* ListView pressed, Text of gadget : */
- break;
- case Ctrl_5 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_4 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_3 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_2 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_1 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_Gad19 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_7 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_8 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_9 :
- /* Button pressed , Text of gadget : <None> */
- break;
- case Ctrl_10 :
- /* Button pressed , Text of gadget : <None> */
- break;
- }
- break;
- case IDCMP_CLOSEWINDOW :
- /* CloseWindow Now */
- break;
- case IDCMP_MENUPICK :
- /* Menu Selected */
- ProcessMenuIDCMPCtrlMenu( Code );
- break;
- case IDCMP_REFRESHWINDOW :
- GT_BeginRefresh( Ctrl);
- /* Refresh window. */
- RendWindowCtrl( Ctrl, CtrlVisualInfo );
- GT_EndRefresh( Ctrl, TRUE);
- GT_RefreshWindow( Ctrl, NULL);
- RefreshGList( CtrlGList, Ctrl, NULL, ~0);
- break;
- case IDCMP_VANILLAKEY :
- /* Processed key press */
- /* gadgets need processing perhaps. */
- break;
- }
- }
-
- /* Cut the core out of this function and edit it suitably. */
-
- void ProcessWindowCtrlCfg( LONG Class, UWORD Code, APTR IAddress )
- {
- struct Gadget *gad;
- switch ( Class )
- {
- case IDCMP_GADGETUP :
- /* Gadget message, gadget = gad. */
- gad = (struct Gadget *)IAddress;
- switch ( gad->GadgetID )
- {
- case CtrlCfg_ScreenMode :
- /* Button pressed , Text of gadget : Pick Mode */
- break;
- case CtrlCfg_Save :
- /* Button pressed , Text of gadget : Save */
- break;
- case CtrlCfg_EditBBSConfig :
- /* Button pressed , Text of gadget : BBS Config */
- break;
- }
- break;
- case IDCMP_CLOSEWINDOW :
- /* CloseWindow Now */
- break;
- case IDCMP_REFRESHWINDOW :
- GT_BeginRefresh( CtrlCfg);
- /* Refresh window. */
- RendWindowCtrlCfg( CtrlCfg, CtrlCfgVisualInfo );
- GT_EndRefresh( CtrlCfg, TRUE);
- GT_RefreshWindow( CtrlCfg, NULL);
- RefreshGList( CtrlCfgGList, CtrlCfg, NULL, ~0);
- break;
- }
- }
-
- /* Cut the core out of this function and edit it suitably. */
-
- void ProcessWindowLoading( LONG Class, UWORD Code, APTR IAddress )
- {
- struct Gadget *gad;
- switch ( Class )
- {
- case IDCMP_GADGETUP :
- /* Gadget message, gadget = gad. */
- gad = (struct Gadget *)IAddress;
- break;
- case IDCMP_CLOSEWINDOW :
- /* CloseWindow Now */
- break;
- case IDCMP_REFRESHWINDOW :
- GT_BeginRefresh( Loading);
- /* Refresh window. */
- GT_EndRefresh( Loading, TRUE);
- break;
- }
- }
-
-
- int main(void)
- {
- int done=0;
- ULONG class;
- UWORD code;
- struct Gadget *pgsel;
- struct IntuiMessage *imsg;
- struct Screen *Scr=NULL;
- if (OpenLibs()==0)
- {
- OpenDiskFonts();
- if (MakeImages()==0)
- {
- Scr = OpenCtrlScrnScreen();
- if (Scr != NULL)
- {
- if (OpenCtrlWindow()==0)
- {
- while(done==0)
- {
- Wait(1L << Ctrl->UserPort->mp_SigBit);
- imsg=GT_GetIMsg(Ctrl->UserPort);
- while (imsg != NULL )
- {
- class=imsg->Class;
- code=imsg->Code;
- pgsel=(struct Gadget *)imsg->IAddress; /* Only reference if it is a gadget message */
- GT_ReplyIMsg(imsg);
- ProcessWindowCtrl(class, code, pgsel);
- /* The next line is just so you can quit, remove when proper method implemented. */
- if (class==IDCMP_CLOSEWINDOW)
- done=1;
- imsg=GT_GetIMsg(Ctrl->UserPort);
- }
- }
-
- CloseCtrlWindow();
- }
- else
- printf("Cannot open window.\n");
- CloseScreen(Scr);
- }
- else
- printf("Cannot Open Screen.\n");
- FreeImages();
- }
- else
- printf("Cannot make images.\n");
- CloseLibs();
- }
- else
- printf("Cannot open libraries.\n");
- }
-